package com.vlong.town.service.userOrgRef;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.vlong.town.entity.userOrgRef.UserOrgRef;
import com.vlong.town.mapper.userOrgRef.UserOrgRefMapper;

/**
 * 用户-机构-关联业务接口实现类
 * @author Assassin
 */
@Service
public class UserOrgRefService{

	// Fields

	@Autowired
	private UserOrgRefMapper userOrgRefMapper;// 用户-机构-关联DAO接口

	// Methods

   /**
	* 添加用户-机构-关联
	* @param refId 标识信息-关联Id[主键值]
	* @param userId 关联信息-用户Id
	* @param orgId 关联信息-机构Id
	* @return Long refId 添加后的数据库主键值
	*/
	
	public Long add(Long refId, Long userId, Long orgId) {
		// 构造用户-机构-关联参数实体
		UserOrgRef userOrgRef = new UserOrgRef();
		userOrgRef.setRefId(refId);// Set 标识信息-关联Id[主键值]
		userOrgRef.setUserId(userId);// Set 关联信息-用户Id
		userOrgRef.setOrgId(orgId);// Set 关联信息-机构Id
		// 调用用户-机构-关联DAO接口
		this.userOrgRefMapper.insert(userOrgRef);
		return userOrgRef.getRefId();
	}

   /**
	* 删除用户-机构-关联
	* @param refId 主键值
	*/
	
	public void delete(Long refId) {
		// 调用用户-机构-关联DAO接口
		this.userOrgRefMapper.delete(refId);
	}

   /**
	* 更新用户-机构-关联
	* @param refId 标识信息-关联Id[主键值]
	* @param userId 关联信息-用户Id
	* @param orgId 关联信息-机构Id
	*/
	
	public void edit(Long refId, Long userId, Long orgId) {
		// 构造用户-机构-关联参数实体
		UserOrgRef userOrgRef = new UserOrgRef();
		userOrgRef.setRefId(refId);// Set 标识信息-关联Id[主键值]
		userOrgRef.setUserId(userId);// Set 关联信息-用户Id
		userOrgRef.setOrgId(orgId);// Set 关联信息-机构Id
		// 调用用户-机构-关联DAO接口
		this.userOrgRefMapper.update(userOrgRef);
	}

   /**
	* 主键查询用户-机构-关联
	* @param refId 主键值
	* @return UserOrgRef 实体
	*/
	
	public UserOrgRef queryById(Long refId) {
		// 调用用户-机构-关联DAO接口
		return this.userOrgRefMapper.selectById(refId);
	}

   /**
	* 根据条件查询用户-机构-关联列表
	* @param refId 标识信息-关联Id[主键值]
	* @param userId 关联信息-用户Id
	* @param orgId 关联信息-机构Id
	* @return List<UserOrgRef> 实体List
	*/
	
	public List<UserOrgRef> queryList(Long refId, Long userId, Long orgId) {
		// 构造用户-机构-关联参数实体
		UserOrgRef userOrgRef = new UserOrgRef();
		userOrgRef.setRefId(refId);// Set 标识信息-关联Id[主键值]
		userOrgRef.setUserId(userId);// Set 关联信息-用户Id
		userOrgRef.setOrgId(orgId);// Set 关联信息-机构Id
		// 调用用户-机构-关联DAO接口
		return this.userOrgRefMapper.selectList(userOrgRef);
	}

}